package com.fowo.api.model.tmp.fba.shipment.product;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * Fba货件子表临时表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TmpFbaShipmentProductImportPo {

  /** 名称 */
  @ExcelProperty("名称")
  @Size(max = 50, message = "名称长度不能超过50")
  private String name;

  /** 描述 */
  @ExcelProperty("描述")
  private String description;

  /** 货件编号 */
  @ExcelProperty("货件编号")
  @Size(max = 50, message = "货件编号长度不能超过50")
  private String shipmentId;

  /** 卖家sku */
  @ExcelProperty("卖家sku")
  @Size(max = 50, message = "卖家sku长度不能超过50")
  private String sellerSku;

  /** 亚马逊配送网络sku */
  @ExcelProperty("亚马逊配送网络sku")
  @Size(max = 50, message = "亚马逊配送网络sku长度不能超过50")
  private String fulfillmentNetworkSku;

  /** 申请数量 */
  @ExcelProperty("申请数量")
  @IntegerString(message = "申请数量数值格式不正确", label = "申请数量")
  private String quantityShipped;

  /** 接收数量 */
  @ExcelProperty("接收数量")
  @IntegerString(message = "接收数量数值格式不正确", label = "接收数量")
  private String quantityReceived;

  /** 每箱数量 */
  @ExcelProperty("每箱数量")
  @IntegerString(
    message = "每箱数量数值格式不正确",
    label = "每箱数量",
    min = 0
  )
  private String quantityInCase;

  /** 发布日期 */
  @ExcelProperty("发布日期")
  @DateTimeString(message = "发布日期不是有效的时间日期格式")
  private String releaseDate;

  /** 准备说明 */
  @ExcelProperty("准备说明")
  @Size(max = 50, message = "准备说明长度不能超过50")
  private String prepInstruction;

  /** 准备所有者 */
  @ExcelProperty("准备所有者")
  @Size(max = 50, message = "准备所有者长度不能超过50")
  private String prepOwner;

  /** 所属FBA货件 */
  @ExcelProperty("所属FBA货件")
  @LongString(
    message = "所属FBA货件数值格式不正确",
    label = "所属FBA货件",
    min = 0L
  )
  private String parentFbaShipment;
}
